package com.dq.health.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dq.health.dto.request.drug.QueryDrugParam;
import com.dq.health.dto.request.drug.SaveDrugRequest;
import com.dq.health.dto.response.drug.DrugInfo;
import com.dq.health.entity.drug.Drug;

/**
 * <药品接口>
 *
 * @Author: chenxin
 * @Date: 2021/5/10
 */
public interface IAPIDrugService {

    /**
     * 功能描述: 新增药品
     *
     * @author: chenxin
     * @param: [request]
     * @date: 2021/5/12
     */
    Long addDrug(SaveDrugRequest request);

    /**
     * 功能描述: 修改药品
     *
     * @author: chenxin
     * @param: [request]
     * @date: 2021/5/12
     */
    void updateDrug(SaveDrugRequest request);

    /**
     * 功能描述: 根据药品id获取
     *
     * @author: chenxin
     * @param: [drugId]
     * @date: 2021/5/12
     */
    Drug getDrugById(Long drugId);

    /**
     * 功能描述: 根据药品编码获取
     *
     * @author: chenxin
     * @param: [drugCode]
     * @date: 2021/5/12
     */
    Drug getDrugByCode(String drugCode);

    /**
     * 功能描述: 药品详情
     *
     * @author: chenxin
     * @param: [drugId]
     * @date: 2021/5/12
     */
    DrugInfo getDrugInfo(Long drugId);

    /**
     * 功能描述: 药品分页查询
     *
     * @author: chenxin
     * @param: [param]
     * @date: 2021/5/12
     */
    IPage<DrugInfo> queryDrugListByParam(QueryDrugParam param);

}
